package com.sum.slike;

import java.util.List;

/**
 * @author: zhu_zhonglin
 * @time: 2021/4/26
 */
public interface AnimationFrame {
    /**
     * Animation动画类型
     * @return  Animation动画类型
     */
    int getType();

    /**
     * Animation是否在运行
     * @return Animation是否在运行
     */
    boolean isRunning();

    /**
     * 下一帧图片
     * @param interval interval
     * @return Element集合列表
     */
    List<Element> nextFrame(long interval);

    /**
     * 只运行一次
     * @return 只运行一次
     */
    boolean onlyOne();

    /**
     * 设置运行完成时的动画
     * @param animationEndListener animationEndListener
     */
    void setAnimationEndListener(AnimationEndListener animationEndListener);

    /**
     * reset
     */
    void reset();

    /**
     * 预备
     * @param x x
     * @param y y
     * @param bitmapProvider bitmapProvider
     */
    void prepare(int x, int y, BitmapProvider.Provider bitmapProvider);

}
